package com.wing.sell.model.response;

import com.baomidou.mybatisplus.annotation.TableField;
import com.wing.sell.model.entity.FinishedOrderDetail;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @version 1.1.0
 * @Author hz
 * @Date 2024-12-05 16:42
 **/
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class FinishedOrderVo {
    /**
     * 订单id
     */
    private Long id;
    /**
     * 版本号
     */
    private String version;
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    /**
     * 创建者id
     */
    private Long creator;
    /**
     * 修改时间
     */
    private LocalDateTime updateTime;

    /**
     * 计划交货时间
     */
    private LocalDateTime planOnTime;


    /**
     * 修改人
     */
    private Long modifier;
    /**
     * 创建人名称
     */
    private String creatorName;
    /**
     * 修改人
     */
    private String modifierName;
    /**
     * 是否删除
     */
    private Boolean isDeleted;
    /**
     * 备注
     */
    private String remark;
    /**
     * 订单编号
     */
    private String selCode;
    /**
     * 客户信息
     */
    private Long customerId;
    private String customerName;

    /**
     * 关联物料数
     */
    private Integer skuQuantity;
    /**
     * 总金额
     */
    private BigDecimal totalMoney;
    /**
     * 联系人id
     */
    private Long contactId;

    /**
     * 审核人id
     */
    private Long auditId;
    /**
     * 审核人姓名
     */
    private String auditName;
    /**
     * 审核时间
     */
    private LocalDateTime auditTime;

    /**
     * 状态
     */
    private String selStatus;
    private String selStatusName;

    /**
     * 类型
     */
    private String selType;
    private String selTypeName;

    /**
     * 客户类型
     */
    private String customerType;
    private String customerTypeName;

    /**
     * sku详情信息
     */
    List<FinishedOrderDetail> details;

    /**
     * 排产状态
     */
    private String pcStatus;

    /**
     * 排产状态名称
     */
    @TableField(exist = false)
    private String pcStatusName;

}
